package entity

// NbCommandRecordV2Entity 下发命令
type NbCommandRecordV2Entity struct {
	RecordId       int    `gorm:"column:recordid;primary_key;AUTO_INCREMENT" json:"recordid"` // 记录ID
	LockId         string `gorm:"column:lockid;NOT NULL" json:"lockid"`                       // 锁ID
	Cmdtype        int    `gorm:"column:cmdtype;NOT NULL" json:"cmdtype"`                     // 命令类型，见协议文档定义
	Cmddata        string `gorm:"column:cmddata;NOT NULL" json:"cmddata"`                     // 命令数据，使用JSON格式
	Encrypttype    int    `gorm:"column:encrypttype;NOT NULL" json:"encrypttype"`             // 数据加密方式
	Taskstatus     int    `gorm:"column:taskstatus;default:0;NOT NULL" json:"taskstatus"`     // 下发状态，0：待下发，1：下发成功，2：下发失败
	Taskid         string `gorm:"column:taskid;NOT NULL" json:"taskid"`                       // 下发任务ID
	Deliverycnt    int    `gorm:"column:deliverycnt;default:0;NOT NULL" json:"deliverycnt"`   // 下发次数
	Retryflag      int    `gorm:"column:retryflag;default:0;NOT NULL" json:"retryflag"`       // 是否需要重发，0：不重发，1：重发
	Deliveryresult int    `gorm:"column:deliveryresult;default:-1" json:"deliveryresult"`     // 任务下发结果，记录锁端返回结果
	Deliverytime   string `gorm:"column:deliverytime" json:"deliverytime"`                    // 下发时间
	Createtime     string `gorm:"column:createtime;NOT NULL" json:"createtime"`               // 创建时间
	HexData        string `gorm:"column:hexdata" json:"hexdata"`                              // 十六进制数据
	ResponseTime   string `gorm:"column:responsetime" json:"responsetime"`                    // 下发响应时间
}

func (NbCommandRecordV2Entity) TableName() string {
	return "nbcommandrecordv2"
}
